Feedback based communication router

ABSTRACT

An inbound communication is received by a contact center. For example, the inbound communication may be a text-based communication. The inbound communication is classified based on feedback from one or more prior inbound communications. For example, the feedback may be based on whether a previous communication was transferred, was dropped, based on feedback provided by a contact center agent, based on feedback provided by a user, and/or the like. In response to classifying the first inbound communication, the inbound communication is routed differently in the contact center. For example, the inbound communication is routed to a different contact center queue based on the feedback of the previous communication.

FIELD

The disclosure relates generally to contact centers and particularly torouting of communications in a contact center

BACKGROUND

Improving customer satisfaction and optimal agent staffing are typicallybased on efficient routing of a customer's call. Call routing hasevolved from Automatic Call Distribution (ACD) to Skillsets-BasedRouting (SBR). Over time, the types of communications being routed havechanged from primarily voice to more text-based (e.g., emails, chats,social media platforms). To correctly route a traditional voice call,the contact center application uses call information (e.g., calling lineID, dialed number) or input from the customer provided by an InteractiveVoice Response (IVR) system. Today, text-based communications aretreated more or less the same way as voice calls and are routed usingSBR with additional logic of using predefined rules. These predefinedrules typically involve parsing the text for predefined keywords andassigning the communication appropriately (e.g., to a specific contactcenter queue for the skillset). While this generally works, in manycases the actual rules still fall short of routing text-basedcommunications to the appropriate contact center resource. Also, in mostcases, the process of routing text-based communications also requires auser to periodically update the predefined rules.

SUMMARY

These and other needs are addressed by the various embodiments andconfigurations of the present disclosure. An inbound communication isreceived by a contact center. For example, the inbound communication maybe a text-based communication. The inbound communication is classifiedbased on feedback from one or more prior inbound communications. Forexample, the feedback may be based on whether a previous communicationwas transferred, was dropped, based on feedback provided by a contactcenter agent, based on feedback provided by a user, and/or the like. Inresponse to classifying the first inbound communication, the inboundcommunication is routed differently in the contact center. For example,the inbound communication is routed to a different contact center queuebased on the feedback of the previous communication.

The phrases “at least one”, “one or more”, “or”, and “and/or” areopen-ended expressions that are both conjunctive and disjunctive inoperation. For example, each of the expressions “at least one of A, Band C”, “at least one of A, B, or C”, “one or more of A, B, and C”, “oneor more of A, B, or C”, “A, B, and/or C”, and “A, B, or C” means Aalone, B alone, C alone, A and B together, A and C together, B and Ctogether, or A, B and C together.

The term “a” or “an” entity refers to one or more of that entity. Assuch, the terms “a” (or “an”), “one or more” and “at least one” can beused interchangeably herein. It is also to be noted that the terms“comprising”, “including”, and “having” can be used interchangeably.

The term “automatic” and variations thereof, as used herein, refers toany process or operation, which is typically continuous orsemi-continuous, done without material human input when the process oroperation is performed. However, a process or operation can beautomatic, even though performance of the process or operation usesmaterial or immaterial human input, if the input is received beforeperformance of the process or operation. Human input is deemed to bematerial if such input influences how the process or operation will beperformed. Human input that consents to the performance of the processor operation is not deemed to be “material”.

Aspects of the present disclosure may take the form of an entirelyhardware embodiment, an entirely software embodiment (includingfirmware, resident software, micro-code, etc.) or an embodimentcombining software and hardware aspects that may all generally bereferred to herein as a “circuit,” “module” or “system.” Any combinationof one or more computer readable medium(s) may be utilized. The computerreadable medium may be a computer readable signal medium or a computerreadable storage medium.

A computer readable storage medium may be, for example, but not limitedto, an electronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system, apparatus, or device, or any suitable combinationof the foregoing. More specific examples (a non-exhaustive list) of thecomputer readable storage medium would include the following: anelectrical connection having one or more wires, a portable computerdiskette, a hard disk, a random access memory (RAM), a read-only memory(ROM), an erasable programmable read-only memory (EPROM or Flashmemory), an optical fiber, a portable compact disc read-only memory(CD-ROM), an optical storage device, a magnetic storage device, or anysuitable combination of the foregoing. In the context of this document,a computer readable storage medium may be any tangible medium that cancontain, or store a program for use by or in connection with aninstruction execution system, apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device. Program codeembodied on a computer readable medium may be transmitted using anyappropriate medium, including but not limited to wireless, wireline,optical fiber cable, RF, etc., or any suitable combination of theforegoing.

The terms “determine”, “calculate” and “compute,” and variationsthereof, as used herein, are used interchangeably and include any typeof methodology, process, mathematical operation or technique.

The term “means” as used herein shall be given its broadest possibleinterpretation in accordance with 35 U.S.C., Section 112(f) and/orSection 112, Paragraph 6. Accordingly, a claim incorporating the term“means” shall cover all structures, materials, or acts set forth herein,and all of the equivalents thereof. Further, the structures, materialsor acts and the equivalents thereof shall include all those described inthe summary, brief description of the drawings, detailed description,abstract, and claims themselves.

The preceding is a simplified summary to provide an understanding ofsome aspects of the disclosure. This summary is neither an extensive norexhaustive overview of the disclosure and its various embodiments. It isintended neither to identify key or critical elements of the disclosurenor to delineate the scope of the disclosure but to present selectedconcepts of the disclosure in a simplified form as an introduction tothe more detailed description presented below. As will be appreciated,other embodiments of the disclosure are possible utilizing, alone or incombination, one or more of the features set forth above or described indetail below. Also, while the disclosure is presented in terms ofexemplary embodiments, it should be appreciated that individual aspectsof the disclosure can be separately claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a first illustrative system for enhancedrouting of communications in a contact center.

FIG. 2 is a diagram of a user interface for providing feedback toenhance routing of communications in a contact center.

FIG. 3 is a flow diagram of a process for enhanced routing ofcommunications in a contact center.

DETAILED DESCRIPTION

FIG. 1 is a block diagram of a first illustrative system 100 forenhanced routing of communications in a contact center 120. The firstillustrative system 100 comprises communication endpoints 101A-101N, anetwork 110, a contact center 120, agent terminals 130A-130N, asupervisor terminal 140, and social media network(s) 150. In addition,FIG. 1 also shows contact center agents 131A-131N and a supervisor 141.

The communication endpoints 101A-101N can be or may include any usercommunication endpoint device that can communicate on the network 110,such as a Personal Computer (PC), a telephone, a video system, acellular telephone, a Personal Digital Assistant (PDA), a tablet device,a notebook device, a laptop computer, a smartphone, and the like. Thecommunication endpoints 101A-101N are devices where a communicationsessions ends. The communication endpoints 101A-101N are not networkelements that facilitate and/or relay a communication session in thenetwork, such as a communication manager 121 or router. As shown in FIG.1, any number of communication endpoints 101A-101N may be connected tothe network 110.

The network 110 can be or may include any collection of communicationequipment that can send and receive electronic communications, such asthe Internet, a Wide Area Network (WAN), a Local Area Network (LAN), aVoice over IP Network (VoIP), the Public Switched Telephone Network(PSTN), a packet switched network, a circuit switched network, acellular network, a combination of these, and the like. The network 110can use a variety of electronic protocols, such as Ethernet, InternetProtocol (IP), Session Initiation Protocol (SIP), Integrated ServicesDigital Network (ISDN), video protocols, email protocols, text messagingprotocols, chat protocols (e.g., Instant Messaging (IM) protocols),and/or the like. Thus, the network 110 is an electronic communicationnetwork configured to carry messages via packets and/or circuit switchedcommunications.

The contact center 120 can be or may include any hardware coupled withsoftware that can manage communications between the communicationendpoints 101A-101N and any application/device. For example, the contactcenter 120 can manage communications between the communication endpoints101A-101N and the agent terminals 130A-130N. The contact center 120further comprises a communication manager 121, contact center queue(s)122, an automated attendant 123, a contact center application 124, acommunication classifier 125, predefined rule(s) 126, and acommunication history database 127.

The communication manager 121 can be or may include any hardware coupledwith software that can route and/or manage a communication. Thecommunication manager 121 can route and/or manage communications ofvarious types, such as, voice communications, video communications,email communications, text messages, chat communications (e.g., anInstant Message (IM)), social media communications, virtual realitycommunications, multimedia communications, and/or the like. Thecommunication manager 121 may route a communication to a communicationendpoint 101, to an agent terminal 130, to a contact center queue 122,to an automated attendant 123, to a contact center application 124, toanother contact center 120, and/or the like.

The contact center queue(s) 122 can be or may include any computerconstruct that allows a communication to be placed on hold while waitingto be serviced. The contact center queue(s) 122 can hold one or morecommunications. The contact center queue(s) 122 may hold a specific typeof communication (e.g., voice) or a combination of communication types,(e.g., voice, video, email, text messaging, social media messages,and/or the like).

The automated attendant 123 can be or may include any hardware coupledwith software that can automatically answer a communication. Forexample, the automated attendant 123 may be an Interactive VoiceResponse (IVR) system, an automated email answering attendant, anautomated chat session attendant, an automated text messaging attendant,an automated social media attendant, and/or the like.

The contact center application 124 can be or may include any hardwarecoupled with software that can be involved in a communication, such as,a Back-to-Back (B2BUA), a recording application, a voicemailapplication, a web page, and/or the like.

The communication classifier 125 can be or may include any hardwarecoupled with software that can use information to classify how acommunication can be routed/managed in the contact center 120. Thecommunication classifier 125 may use information provided from thecommunication history database 127, from feedback provided by thecontact center agents 131A-131N/supervisor 141, from feedback providedby a user, from routing information provided by the communicationmanager 121, and/or the like.

The communication classifier 125 further comprises predefined rule(s)126. The predefined rules 126 are initial rules that are defined to beused until the communication classifier 125 receives enough feedback togenerate new rules for routing communications in the contact center 120.

The communication history databased 127 can be or may include any typeof database for storing information, such as, a relational database, afile system, a directory service, an object oriented database, and/orthe like. The communication history database 127 can store any kind ofinformation associated with a previous communication, such as, a time, adate, participants in the previous communication, text of thecommunication, voice/video of the previous communication, elementsinvolved in the previous communication (e.g., an agent terminal 130, anautomated attendant 123, etc.), transfer information, droppedcommunication information, contact center queue(s) 122 involved in theprevious communication, and/or the like.

The social media network(s) 150 can be or may include any type of socialmedia network 150, such as, Twitter®, Facebook®, LinkedIn®, and/or thelike. The social media network(s) 150 may comprise a plurality of socialmedia networks 150 provided by different vendors.

The contact center agents 131A-131N can be or may include any humanagent that can answer/manage communications. A contact center agent 131may be a supervisor 141. The supervisor 141 is a human agent thatmanages the contact center agents 131A-131N and resources within thecontact center 120.

FIG. 2 is a diagram of a user interface 200 for providing feedback toenhance routing of communications in a contact center 120.Illustratively, communication endpoints 101A-101N, the contact center120, the communication manager 121, the contact center queue(s) 122, theautomated attendant 123, the contact center application 124, thecommunication classifier 125, the predefined rule(s) 126, thecommunication history database 127, the agent terminals 130A-130N, thesupervisor terminal 140, and the social media network(s) 150 arestored-program-controlled entities, such as a computer ormicroprocessor, which performs the method of FIGS. 2-3 and the processesdescribed herein by executing program instructions stored in a computerreadable storage medium, such as a memory (i.e., a computer memory, ahard disk, and/or the like). Although the methods described in FIGS. 2-3are shown in a specific order, one of skill in the art would recognizethat the steps in FIGS. 2-3 may be implemented in different ordersand/or be implemented in a multi-threaded environment. Moreover, varioussteps may be omitted or added based on implementation.

The user interface 200 comprises a feedback message 201, a skillsetassessment message 202, a skillset assessment yes/no radio button 203,an appropriate skill set message 204, a product X technical specialistselection 205A, a product X general support selection 205B, a product Xpremium support selection 205C, a product X automated attendantselection 205D, another product selection 205E, an enter keywordsmessage 206, an enter keywords text field 207, a description message208, a description field 209, a submit button 210, and a cancel button211.

The user interface 200 is typically displayed to a contact center agent131 after the contact center agent 131 has handled a communication. Forexample, an email may be initially sent to a specific contact centerqueue 122 based on information that is in the email (i.e., the text ofthe email). The email is then sent from the contact center queue 122 toa contact center agent 131 via the agent terminal 130. After respondingto the email, the agent terminal 130 displays the user interface 200 tothe contact center agent 131 so that the contact center agent 131 canprovide feedback for the email communication.

The feedback message 201 asks the contact center agent 131 to providefeedback for the communication. The skillset assessment message 202 asksthe contact center agent 131 to select whether the communication wasassigned to the correct skillset. A skillset is where the contact centeragent 131 possesses the particular skills to address the reason why theuser is communicating with the contact center 120. Individual contactcenter queues 122 are typically defined to be supported by contactcenter agents 131 that have the necessary skills. For example, if theuser is calling about product X, the user should be placed in thecontact center queue 122 that supports product X. The contact centeragent 131 selects the skillset assessment yes/no radio button 203 toselect whether the communication was assigned (i.e., routed) to thecontact center agent 131 who possesses the correct skillset.

If the contact center agent 131 selects the “NO” option on the skillsetassessment yes/no radio button 203 as shown in FIG. 2, the appropriateskill set message 204 is displayed along with the selections 205A-205E.The contact center agent 131 can then select the appropriate selection205A-205E. For example, as shown in FIG. 2, the contact center agent 131has selected the product X automated attendant selection 205D. Theproduct X automated attendant selection 205D indicates that thecommunication should have been routed to the automated attendant 123instead of being routed to the contact center agent 131 via the agentterminal 130. For example, the text of the email may have contained asimple question that could have been easily answered by the automatedattendant 123. The feedback information allows the communicationclassifier 125 to better identify how future communications should berouted in the contact center 120. This way future communications arestreamlined in the contact center 120. As a result, the contact center120 becomes more efficient.

In addition, the contact center agent 131 may also be asked to enter oneor more keywords. For example, the enter keywords message 206 and theenter keywords text field 207 may be displayed to the contact centeragent 131. In FIG. 3, the contact center agent 131 has entered the word“INSTALLATION” in the enter keywords text field 207. The enteredkeyword(s) are used by the communication classifier as feedback toenhance routing of future communications in the contact center 120.

The description message 208 indicates to the contact center agent 131 toenter a brief description of the communication (e.g., a summary). Thecontact center agent 131 can enter the brief description by selectingthe description field 209 and typing the brief description. The entereddescription is used by the communication classifier as feedback toenhance routing of future communications in the contact center 120

The contact center agent 131 can submit the feedback by selecting thesubmit button 210. In addition, the contact center agent 131 can selectthe cancel button 211 to close the user interface 200.

The user interface 200 described in FIG. 2 is provided to the contactcenter agent 131. However, in other embodiments, feedback may also (oronly) be solicited from the user who initiated the inboundcommunication. For example, the user may be asked if he/she felt thatthe communication was assigned to the correct contact agent 131 (e.g.,did the contact center agent 131 answer your questions properly). Theuser may be able to select from options regarding the appropriate skillset as described in FIG. 2. In addition, the user may also be able toenter keywords and a description.

The processes described in FIG. 2 is one way of providing feedback for acommunication. However, as one of skill in the art would recognize,other ways of gathering feedback may be used. For example, other typesof graphical user interface elements may be used, such as, menus,avatars, icons, and/or the like. In addition, the feedback may beprovided audibly using an IVR system or camera (e.g., usinggestures/sign language).

Other types of feedback may be provided by the contact center agent131/user. For example, the feedback may indicate if a sale was made, ifthe user blocked or unfriended the contact center 120/contact centeragent 131, and/or the like.

FIG. 3 is a flow diagram of a process for enhanced routing ofcommunications in a contact center 120. The process starts in step 300.The communication manager 121 determines, in step 302, if an inboundcommunication is received. The inbound communication is typically atext-based inbound communication, such as, an email communication, achat communication, a text messaging communication, a social mediacommunication (e.g., a user posted a message on the social media network150, which triggers the inbound communication), and/or the like.However, the communication of step 302 is not limited to text-basedcommunications (e.g., the communication may be a voice or videocommunication).

If an inbound communication was not received in step 302, the process ofstep 302 repeats. Otherwise, if an inbound communication is received instep 302, the contact center 120 may, in one embodiment, spin off aseparate thread/process for each inbound communication received in thecontact center 120. For example, the thread/process for each inboundcommunication may be used for steps 304-318.

The communication classifier 125 gets, in step 304, any historyassociated with the inbound communication. The history may compriseother communications that the contact center 120 has had with the user.For example, the communication may be an email communication and thehistory may include prior communications with the same user in the sameor different communications mediums (e.g., voice, video, email, textmessaging, chat, and/or the like). The communication classifier 125 mayget historical context information by searching the inboundcommunication. For example, the historical context information may begathered from: an email chain associated with an email, previousmessages in a chat session, previous posts by the user or other users ona social media network 150, previous text messages by the user,voicemail messages left by the user, and/or the like.

In addition, the communication classifier 125 may use current contextinformation. The current context information can be or may or mayinclude information, such as, a location of the user, a dialectspoken/written by the user, a language spoken/written by the user, anemotional state/sentiment of the user (e.g., as learned from the text orvoice), and/or the like.

The communication classifier 125 identifies keyword(s) in the text ofthe communication in step 306. The classification identifier mayidentify keyword(s) based on voice. For example, an IVR system (anautomated attendant 123) may be used where the user provides an initialsummary of why the user is calling (e.g., doing a voice-to-texttranslation).

The keyword(s) may be a single word or phrase. The keyword(s) that areused in step 306 are automatically learned over time based onfeedback/history from previous communications. For example, thecommunication classifier 125 may identify the keywords “not working”and/or “frustration” that are associated with the feature “installation”for the software product X based on feedback/history of previouscommunications with the contact center 120 regarding product X.

The communication classifier 125 classifies the communication based onthe keyword(s)/history in step 308. For example, based on the keywords“not working” and/or “frustration” that are associated with the feature“installation” for the software product X, the communication classifier125 may place the communication into a specific contact center queue 122that provides technical support for the software product X.

The identified keyword(s)/classification of step 306/308 may useadditional information as feedback that is associated with the previouscommunications to further improve the classification process. Forexample, the communication classifier 125 may use information gatheredby the communication manager 121, such as, if the communication wastransferred (e.g., to another contact center queue 122 or contact centeragent 131), if the communication was dropped (e.g., a dropped chatcommunication, a dropped voice communication, a dropped videocommunication, and/or the like), where the user never responded to anemail/text message, and/or the like.

Based on the classification of step 308, the communication manager 121routes, in step 310, the communication based on the classification. Thecommunication manager 121 may route the communication to differentplaces based on the classification. For example, the communication maybe routed to a specific contact center queue 122, a specific agentterminal 130, the supervisor terminal 140, a specific automatedattendant 123, a specific contact center application 124, anothercontact center 120, and/or the like. In addition, other events may occurbased on the classification, such as, notifying a supervisor terminal140 of the communication.

The communication classifier 125 determines, in step 312, if feedbackhas been provided for the communication. The feedback may be providedvia the user interface 200, via the communication manager 121 (e.g., wasthe communication transferred, dropped, etc.), via the automatedattendant 123, via the contact center application 124, and/or the like.If there is no feedback provided in step 312, the process goes to step302. Otherwise, if feedback has been provided in step 312, thecommunication classifier 125 provides, in step 314, the feedback forclassifying the communications in step 308. The feedback for classifyingthe communications of step 314 may be based on the feedback provided inthe user interface 200. For example, if the communication wastransferred to a different contact center agent 131 that supports adifferent product (e.g., the contact center agent 131 selects the “NO”option in the skillset assessment yes/no radio button 203), thisinformation is used to automatically learn that this particularcommunication was not initially routed properly. The automatic learningprocess can be based on a learned trend where multiple communicationshave a similar problem. Thus, for future communications, thecommunications will be automatically routed to the correct destination.

The communication classifier 125 provides, in step 316, feedback fordefining keyword(s). For example, as shown in FIG. 2, the contact centeragent 131 can enter keyword(s) into the enter keywords text field 207.The communication classifier 125 may use the entered keyword(s) toidentify a trend of misrouted communications based on the same orsimilar keywords being entered into the enter keywords text field 207.The keyword(s) may be classified based on a specific contact centeragent 131. For example, one contact center agent 131 may use differentkeyword(s) for the same problem versus another contact center agent 131.The identified keyword(s) may be based on the text/voice of thecommunication. For example, the communication classifier 125 mayidentify similar keywords being used in the text/voice of similarmisrouted communications. Based on the trend, the communicationclassifier may use new keyword(s) in step 306 for future communications.

The communication classifier 125 stores the feedback in step 318. Theprocess then goes back to step 302 to wait for another inboundcommunication.

The process described in FIG. 3 may initially use the predefined rule(s)126. For example, for the initial inbound communications received in thecontact center 120, the communication classifier 125 may use thepredefined rule(s) 126. However, over time, the predefined rule(s) 126will be replaced as the communication classifier 125 receives feedbackthat is used to make better routing decisions over time.

Examples of the processors as described herein may include, but are notlimited to, at least one of Qualcomm® Snapdragon® 800 and 801, Qualcomm®Snapdragon® 610 and 615 with 4G LTE Integration and 64-bit computing,Apple® A7 processor with 64-bit architecture, Apple® M7 motioncoprocessors, Samsung® Exynos® series, the Intel® Core™ family ofprocessors, the Intel® Xeon® family of processors, the Intel® Atom™family of processors, the Intel Itanium® family of processors, Intel®Core® i5-4670K and i7-4770K 22 nm Haswell, Intel® Core® i5-3570K 22 nmIvy Bridge, the AMD® FX™ family of processors, AMD® FX-4300, FX-6300,and FX-8350 32 nm Vishera, AMD® Kaveri processors, Texas Instruments®Jacinto C6000™ automotive infotainment processors, Texas Instruments®OMAP™ automotive-grade mobile processors, ARM® Cortex™-M processors,ARM® Cortex-A and ARIV1926EJ-S™ processors, other industry-equivalentprocessors, and may perform computational functions using any known orfuture-developed standard, instruction set, libraries, and/orarchitecture.

Any of the steps, functions, and operations discussed herein can beperformed continuously and automatically.

However, to avoid unnecessarily obscuring the present disclosure, thepreceding description omits a number of known structures and devices.This omission is not to be construed as a limitation of the scope of theclaimed disclosure. Specific details are set forth to provide anunderstanding of the present disclosure. It should however beappreciated that the present disclosure may be practiced in a variety ofways beyond the specific detail set forth herein.

Furthermore, while the exemplary embodiments illustrated herein show thevarious components of the system collocated, certain components of thesystem can be located remotely, at distant portions of a distributednetwork, such as a LAN and/or the Internet, or within a dedicatedsystem. Thus, it should be appreciated, that the components of thesystem can be combined in to one or more devices or collocated on aparticular node of a distributed network, such as an analog and/ordigital telecommunications network, a packet-switch network, or acircuit-switched network. It will be appreciated from the precedingdescription, and for reasons of computational efficiency, that thecomponents of the system can be arranged at any location within adistributed network of components without affecting the operation of thesystem. For example, the various components can be located in a switchsuch as a PBX and media server, gateway, in one or more communicationsdevices, at one or more users' premises, or some combination thereof.Similarly, one or more functional portions of the system could bedistributed between a telecommunications device(s) and an associatedcomputing device.

Furthermore, it should be appreciated that the various links connectingthe elements can be wired or wireless links, or any combination thereof,or any other known or later developed element(s) that is capable ofsupplying and/or communicating data to and from the connected elements.These wired or wireless links can also be secure links and may becapable of communicating encrypted information. Transmission media usedas links, for example, can be any suitable carrier for electricalsignals, including coaxial cables, copper wire and fiber optics, and maytake the form of acoustic or light waves, such as those generated duringradio-wave and infra-red data communications.

Also, while the flowcharts have been discussed and illustrated inrelation to a particular sequence of events, it should be appreciatedthat changes, additions, and omissions to this sequence can occurwithout materially affecting the operation of the disclosure.

A number of variations and modifications of the disclosure can be used.It would be possible to provide for some features of the disclosurewithout providing others.

In yet another embodiment, the systems and methods of this disclosurecan be implemented in conjunction with a special purpose computer, aprogrammed microprocessor or microcontroller and peripheral integratedcircuit element(s), an ASIC or other integrated circuit, a digitalsignal processor, a hard-wired electronic or logic circuit such asdiscrete element circuit, a programmable logic device or gate array suchas PLD, PLA, FPGA, PAL, special purpose computer, any comparable means,or the like. In general, any device(s) or means capable of implementingthe methodology illustrated herein can be used to implement the variousaspects of this disclosure. Exemplary hardware that can be used for thepresent disclosure includes computers, handheld devices, telephones(e.g., cellular, Internet enabled, digital, analog, hybrids, andothers), and other hardware known in the art. Some of these devicesinclude processors (e.g., a single or multiple microprocessors), memory,nonvolatile storage, input devices, and output devices. Furthermore,alternative software implementations including, but not limited to,distributed processing or component/object distributed processing,parallel processing, or virtual machine processing can also beconstructed to implement the methods described herein.

In yet another embodiment, the disclosed methods may be readilyimplemented in conjunction with software using object or object-orientedsoftware development environments that provide portable source code thatcan be used on a variety of computer or workstation platforms.Alternatively, the disclosed system may be implemented partially orfully in hardware using standard logic circuits or VLSI design. Whethersoftware or hardware is used to implement the systems in accordance withthis disclosure is dependent on the speed and/or efficiency requirementsof the system, the particular function, and the particular software orhardware systems or microprocessor or microcomputer systems beingutilized.

In yet another embodiment, the disclosed methods may be partiallyimplemented in software that can be stored on a storage medium, executedon programmed general-purpose computer with the cooperation of acontroller and memory, a special purpose computer, a microprocessor, orthe like. In these instances, the systems and methods of this disclosurecan be implemented as program embedded on personal computer such as anapplet, JAVA® or CGI script, as a resource residing on a server orcomputer workstation, as a routine embedded in a dedicated measurementsystem, system component, or the like. The system can also beimplemented by physically incorporating the system and/or method into asoftware and/or hardware system.

Although the present disclosure describes components and functionsimplemented in the embodiments with reference to particular standardsand protocols, the disclosure is not limited to such standards andprotocols. Other similar standards and protocols not mentioned hereinare in existence and are considered to be included in the presentdisclosure. Moreover, the standards and protocols mentioned herein andother similar standards and protocols not mentioned herein areperiodically superseded by faster or more effective equivalents havingessentially the same functions. Such replacement standards and protocolshaving the same functions are considered equivalents included in thepresent disclosure.

The present disclosure, in various embodiments, configurations, andaspects, includes components, methods, processes, systems and/orapparatus substantially as depicted and described herein, includingvarious embodiments, subcombinations, and subsets thereof. Those ofskill in the art will understand how to make and use the systems andmethods disclosed herein after understanding the present disclosure. Thepresent disclosure, in various embodiments, configurations, and aspects,includes providing devices and processes in the absence of items notdepicted and/or described herein or in various embodiments,configurations, or aspects hereof, including in the absence of suchitems as may have been used in previous devices or processes, e.g., forimproving performance, achieving ease and\or reducing cost ofimplementation.

The foregoing discussion of the disclosure has been presented forpurposes of illustration and description. The foregoing is not intendedto limit the disclosure to the form or forms disclosed herein. In theforegoing Detailed Description for example, various features of thedisclosure are grouped together in one or more embodiments,configurations, or aspects for the purpose of streamlining thedisclosure. The features of the embodiments, configurations, or aspectsof the disclosure may be combined in alternate embodiments,configurations, or aspects other than those discussed above. This methodof disclosure is not to be interpreted as reflecting an intention thatthe claimed disclosure requires more features than are expressly recitedin each claim. Rather, as the following claims reflect, inventiveaspects lie in less than all features of a single foregoing disclosedembodiment, configuration, or aspect. Thus, the following claims arehereby incorporated into this Detailed Description, with each claimstanding on its own as a separate preferred embodiment of thedisclosure.

Moreover, though the description of the disclosure has includeddescription of one or more embodiments, configurations, or aspects andcertain variations and modifications, other variations, combinations,and modifications are within the scope of the disclosure, e.g., as maybe within the skill and knowledge of those in the art, afterunderstanding the present disclosure. It is intended to obtain rightswhich include alternative embodiments, configurations, or aspects to theextent permitted, including alternate, interchangeable and/or equivalentstructures, functions, ranges or steps to those claimed, whether or notsuch alternate, interchangeable and/or equivalent structures, functions,ranges or steps are disclosed herein, and without intending to publiclydedicate any patentable subject matter.

What is claimed is:
 1. A contact center comprising: a microprocessor;and a computer readable medium, coupled with the microprocessor andcomprising microprocessor readable and executable instructions that,when executed by the microprocessor, cause the microprocessor to:receive a first inbound communication from a user; classify the firstinbound communication, wherein the first inbound communication isclassified based on feedback from one or more prior inboundcommunications; in response to classifying the first inboundcommunication, route the first inbound communication in the contactcenter; and receive new feedback from at least one agent, the newfeedback including information about whether the first inboundcommunication was assigned to an agent with a correct skillset foraddressing the first inbound communication.
 2. The contact center ofclaim 1, wherein routing the inbound first communication in the contactcenter comprises at least one of: routing the first inboundcommunication to a specific contact center queue; routing the firstinbound communication to a specific agent terminal; routing the firstinbound communication to a specific contact center application; routingthe first inbound communication to a specific automated attendant;routing the first inbound communication to another contact center; andnotifying a supervisor agent terminal of the first inboundcommunication.
 3. The contact center of claim 1, wherein classifying thefirst inbound communication further comprises identifying a context forthe first inbound communication by searching: an email chain associatedwith the first inbound communication; a chat session associated with thefirst inbound communication; a social media network associated with auser who posted the first inbound communication; and a voicemail messageassociated with the first inbound communication.
 4. The contact centerof claim 1, wherein classifying the first inbound communicationcomprises identifying one or more new keywords to search for in thefirst inbound communication based on the feedback from one or more priorinbound communications.
 5. The contact center of claim 1, wherein themicroprocessor readable and executable instructions further cause themicroprocessor to: provide information to generate a graphical userinterface to receive the feedback from one or more prior inboundcommunications for the one or more prior inbound communications; andreceive the feedback from one or more prior inbound communications forthe one or more prior inbound communications.
 6. The contact center ofclaim 1, wherein at least one of the one or more prior inboundcommunications is classified and routed based on a predefined rule andwherein the first inbound communication is not classified and is notrouted based on the predefined rule.
 7. The contact center of claim 1,wherein the first inbound communication is from a specific user andwherein classifying the first inbound communication is further based onone or more communications with the specific user in mediums other thanthat of the first inbound communication.
 8. The contact center of claim1, wherein the microprocessor readable and executable instructionsfurther cause the microprocessor to: receive a second inboundcommunication; classify the second inbound communication, wherein thesecond inbound communication is classified based on feedback from firstinbound communication; in response to classifying the second inboundcommunication, route the second inbound communication differently fromthe first inbound communication.
 9. The contact center of claim 1,wherein the feedback from one or more prior inbound communicationscomprises at least one of: identifying a matching skillset, providingone or more keywords associated an individual prior communication,identifying if the individual prior communication was transferred,identifying a dropped chat communication, identifying a dropped voicecommunication, identifying a dropped video communication, identifying anon-response to an email, and capturing a summary of the individualprior communication.
 10. The contact center of claim 1, wherein thefirst inbound communication is a text-based communication and whereinthe classification of the first inbound communication is classifiedbased on a text of the text-based communication and the feedback fromone or more prior inbound communications.
 11. A method comprising:receiving, by a microprocessor, a first inbound communication from auser; classifying, by the microprocessor, the first inboundcommunication, wherein the first inbound communication is classifiedbased on feedback from one or more prior inbound communications; inresponse to classifying the first inbound communication, routing, by themicroprocessor, the first inbound communication in a contact center; andreceiving new feedback from at least one agent, the new feedbackincluding information about whether the first inbound communication wasassigned to an agent with a correct skillset for addressing the firstinbound communication.
 12. The method of claim 11, wherein routing theinbound first communication in the contact center comprises at least oneof: routing the first inbound communication to a specific contact centerqueue; routing the first inbound communication to a specific agentterminal; routing the first inbound communication to a specific contactcenter application; routing the first inbound communication to aspecific automated attendant; routing the first inbound communication toanother contact center; and notifying a supervisor agent terminal of thefirst inbound communication.
 13. The method of claim 11, whereinclassifying the first inbound communication further comprisesidentifying a context for the first inbound communication by searching:an email chain associated with the first inbound communication; a chatsession associated with the first inbound communication; a social medianetwork associated with a user who posted the first inboundcommunication; and a voicemail message associated with the first inboundcommunication.
 14. The method of claim 11, wherein classifying the firstinbound communication comprises identifying one or more new keywords tosearch for in the first inbound communication based on the feedback fromone or more prior inbound communications.
 15. The method of claim 11,further comprising: providing information to generate a graphical userinterface to receive the feedback from one or more prior inboundcommunications for the one or more prior inbound communications; andreceiving the feedback from one or more prior inbound communications forthe one or more prior inbound communications.
 16. The method of claim11, wherein at least one of the one or more prior inbound communicationsis classified and routed based on a predefined rule and wherein thefirst inbound communication is not classified and is not routed based onthe predefined rule.
 17. The method of claim 11, further comprising:receiving a second inbound communication; classifying the second inboundcommunication, wherein the second inbound communication is classifiedbased on feedback from first inbound communication; in response toclassifying the second inbound communication, routing the second inboundcommunication differently from the first inbound communication.
 18. Themethod of claim 11, wherein the feedback from one or more prior inboundcommunications comprises at least one of: identifying a matchingskillset, providing one or more keywords associated an individual priorcommunication, identifying if the individual prior communication wastransferred, identifying a dropped chat communication, identifying adropped voice communication, identifying a dropped video communication,identifying a non-response to an email, and capturing a summary of theindividual prior communication.
 19. The method of claim 11, wherein thefirst inbound communication is a text-based communication and whereinthe classification of the first inbound communication is classifiedbased on a text of the text-based communication and the feedback fromone or more prior inbound communications.
 20. A system comprising: amicroprocessor; and a computer readable medium, coupled with themicroprocessor and comprising microprocessor readable and executableinstructions that, when executed by the microprocessor, cause themicroprocessor to: receive an inbound communication from a user;classify the inbound communication, wherein the inbound communication isclassified based on feedback from one or more prior inboundcommunications; in response to classifying the inbound communication,route the inbound communication; and receive new feedback from at leastone agent, the new feedback including information about whether theinbound communication was assigned to an agent with a correct skillsetfor addressing the inbound communication.